home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / biz / dbase / Fiasco2_11_pch.lha / Fiasco_2.11_Patch / Install next >
Text File  |  1998-01-09  |  9KB  |  346 lines

  1. ;
  2. ; Install Fiasco 2.11 Patch
  3. ; Patches Fiasco Release Version 2.1 to Release Version 2.11
  4. ; Copyright © 1997-1998 Nils Bandener
  5. ; $VER: PatchFiasco 6.1 (9.1.98)
  6. ;
  7.  
  8. (procedure applypatch
  9.     ;
  10.     ; Expected parameters:
  11.     ;
  12.     ; apfile = Name of file to patch
  13.     ; appch  = Name of patch file
  14.     ;
  15.  
  16.     (working (#patching-s apfile))
  17.  
  18.     (if (=
  19.            (run ("\"%s\" \"-p%s\" -ot:Fiasco_New \"%s\"" spatch appch apfile))
  20.  
  21.          0)
  22.     (
  23.         (delete apfile)
  24.         (copyfiles (source "T:Fiasco_New")
  25.                    (dest (pathonly apfile)))
  26.  
  27.         (rename (tackon (pathonly apfile) "Fiasco_New") apfile)
  28.         (delete "T:Fiasco_New")
  29.     )
  30.     (
  31.         (abort (#patch-could-not-be-applied apfile))
  32.     ))
  33. )
  34.  
  35. (procedure applyldocpatch
  36.  
  37.     (set apfile (tackon ldocdir "Fiasco.guide"))
  38.  
  39.     (if (exists apfile)
  40.     (
  41.         (if (askbool (prompt (#want-to-patch apfile))
  42.                      (choices #yes #no)
  43.                      (help #patch-doc-help)
  44.                      (default 1))
  45.         (
  46.             (set appch (tackon srcdir ("Doc_guide_%s.pch" ldoclang)))
  47.  
  48.             (applypatch)
  49.         ))
  50.     ))
  51.  
  52.     (set apfile (tackon ldocdir "Fiasco.dvi"))
  53.  
  54.     (if (exists apfile)
  55.     (
  56.         (if (askbool (prompt (#want-to-patch apfile))
  57.                      (choices #yes #no)
  58.                      (help #patch-doc-help)
  59.                      (default 1))
  60.         (
  61.             (set appch (tackon srcdir ("Doc_dvi_%s.pch" ldoclang)))
  62.  
  63.             (applypatch)
  64.         ))
  65.     ))
  66. )
  67.  
  68. (if (= @language "deutsch")
  69. (
  70.     (set #yes "Ja")
  71.  
  72.     (set #no "Nein")
  73.  
  74.     (set #patching-s "Patche \"%s\"...")
  75.  
  76.     (set #patch-could-not-be-applied "Patch konnte nicht auf \"%s\" angewendet werden.")
  77.  
  78.     (set #want-to-patch "Wollen Sie \"%s\" patchen?")
  79.  
  80.     (set #patch-doc-help "Diese Prozedur aktualisiert das Dokument der Fiasco 2.1-Distribution auf die 2.11-Version. Dieses Script sichert ab, daß der richtige Patch angewendet wird.")
  81.  
  82.     (set #select-fiasco-dir "Bitte wählen Sie das Verzeichnis aus, in dem sich Fiasco 2.1 befindet.")
  83.  
  84.     (set #select-fiasco-dir-help "Benutzen Sie diesen Requester, um das Verzeichnis anzugeben, in dem Fiasco 2.1 abgelegt ist.")
  85.  
  86.     (set #fiasco-dir-does-not-exist "Das ausgewählte Verzeichnis existiert nicht!")
  87.  
  88.     (set #fiasco-dir-not-ok "Das ausgewählte Verzeichnis enthält nicht die Fiasco-Haupt-Datei!")
  89.  
  90.     (set #version-not-ok "Sie haben nicht Fiasco Version 2.1 installiert!\nDie installierte Fiasco-Haupt-Datei sollte Version 6.282 haben, Sie haben Version %ld.%ld.\nFiasco 2.1 ist im Aminet verfügbar.")
  91.  
  92.     (set #patch-fiasco-main "Wollen Sie die Fiasco-Haupt-Datei patchen?")
  93.  
  94.     (set #patch-fiasco-main-help "Diese Prozedur aktualisiert die ausführbare Datei von Fiasco Relase Version 2.1 auf die Version 2.11.")
  95.  
  96.     (set #unknown-file "Kann Patch nicht anwenden:\nDie Datei %s ist dem Installer-Script unbekannt.")
  97.  
  98.     (set #examining-s "Untersuche \"%s\" ...")
  99.  
  100.     (set #update-catalogs "Wollen Sie die Locale-Catalogs für Fiasco aktualisieren?")
  101.  
  102.     (set #update-catalogs-help "Die Locale-Catalogs für Fiasco 2.11, die es Ihnen erlauben, Fiasco in einer anderen Sprache als Englisch zu betreiben, wurden leicht verändert. Diese Prozedur erlaubt es Ihnen, sie automatisch zu aktualisieren.")
  103.  
  104. )
  105. (
  106.     (set #yes "Yes")
  107.  
  108.     (set #no "No")
  109.  
  110.     (set #patching-s "Patching \"%s\"...")
  111.  
  112.     (set #patch-could-not-be-applied "Patch could not be applied to \"%s\".")
  113.  
  114.     (set #want-to-patch "Do you want to patch \"%s\"?")
  115.  
  116.     (set #patch-doc-help "This procedure updates the document from the Fiasco 2.1 distribution to the 2.11 version. This script makes sure, that the correct patch will be applied")
  117.  
  118.     (set #select-fiasco-dir "Please select the directory where you have installed Fiasco 2.1")
  119.  
  120.     (set #select-fiasco-dir-help "Use this requester to select the directory Fiasco release version 2.1 is located.")
  121.  
  122.     (set #fiasco-dir-does-not-exist "The selected directory does not exist!")
  123.  
  124.     (set #fiasco-dir-not-ok "The selected directory does not contain the Fiasco main executable!")
  125.  
  126.     (set #version-not-ok "You do not have Fiasco 2.1 installed!\nThe installed Fiasco main executable should have version 6.282, you have version %ld.%ld.")
  127.  
  128.     (set #patch-fiasco-main "Do you want to patch the main Fiasco executable?")
  129.  
  130.     (set #patch-fiasco-main-help "This procedure will change the Fiasco release version 2.1 main file to the 2.11 version.")
  131.  
  132.     (set #unknown-file "Unable to apply patch:\nThe file %s is unkown to this installer script.")
  133.  
  134.     (set #examining-s "Examining \"%s\"...")
  135.  
  136.     (set #update-catalogs "Do you want to update the locale catalogs for Fiasco?")
  137.  
  138.     (set #update-catalogs-help "The locale catalogs for Fiasco 2.11 which allow you to use Fiasco in another language than English have been sligtly changed for Fiasco 2.11. This procedure makes an automatic update.")
  139. ))
  140.  
  141. (set srcdir (tackon (pathonly @icon) "data"))
  142.  
  143. (set spatch (tackon (pathonly @icon) "spatch"))
  144.  
  145. (set destok 0)
  146.  
  147. (while (not destok)
  148. (
  149.     (set @default-dest
  150.         (askdir (prompt #select-fiasco-dir)
  151.                 (default "Work:")
  152.                 (help #select-fiasco-dir-help)))
  153.  
  154.     (if (exists @default-dest)
  155.     (
  156.         (if (= (exists (tackon @default-dest "Fiasco")) 1)
  157.         (
  158.             (set destok 1)
  159.         )
  160.         (
  161.             (message #fiasco-dir-not-ok)
  162.         ))
  163.     )
  164.     (
  165.         (message #fiasco-dir-does-not-exist)
  166.     ))
  167. ))
  168.  
  169. (complete 5)
  170.  
  171. (set exver (getversion (tackon @default-dest "Fiasco")))
  172.  
  173. (if (<> exver (+ (* 6 65536) 282))
  174. (
  175.     (set ver (/ exver 65536))
  176.     (set rev (- exver (* ver 65536)))
  177.  
  178.     (abort (#version-not-ok ver rev))
  179. ))
  180.  
  181. (if (askbool (prompt #patch-fiasco-main)
  182.              (choices #yes #no)
  183.              (help #patch-fiasco-main-help)
  184.              (default 1))
  185. (
  186.     (set appch (tackon srcdir "Fiasco.pch"))
  187.     (set apfile (tackon @default-dest "Fiasco"))
  188.  
  189.     (applypatch)
  190. ))
  191.  
  192. (complete 15)
  193.  
  194. (set docdir (tackon @default-dest "Documentation"))
  195.  
  196. (if (exists docdir)
  197. (
  198.     (set apfile (tackon docdir "Fiasco.dvi"))
  199.  
  200.     (if (exists apfile)
  201.     (
  202.         (if (askbool (prompt (#want-to-patch apfile))
  203.                      (choices #yes #no)
  204.                      (help #patch-doc-help)
  205.                      (default 1))
  206.         (
  207.             (working (#examining-s apfile))
  208.  
  209.             (set sum (getsum apfile))
  210.  
  211.             (complete 30)
  212.  
  213.             (if (= sum 1218071786)
  214.             (
  215.                 (set lang "English")
  216.                 (set appch (tackon srcdir "Doc_dvi_eng.pch"))
  217.             )
  218.             (
  219.                 (if (= sum 885709238)
  220.                 (
  221.                     (set lang "Deutsch")
  222.                     (set appch (tackon srcdir "Doc_dvi_deu.pch"))
  223.                 )
  224.                 (
  225.                     (message (#unknown-file apfile))
  226.                     (set appch "")
  227.                 ))
  228.             ))
  229.  
  230.             (if (<> appch "")
  231.             (
  232.                 (applypatch)
  233.             ))
  234.  
  235.             (complete 40)
  236.         ))
  237.     ))
  238.  
  239.     (set apfile (tackon docdir "Fiasco.guide"))
  240.  
  241.     (if (exists apfile)
  242.     (
  243.         (if (askbool (prompt (#want-to-patch apfile))
  244.                      (choices #yes #no)
  245.                      (help #patch-doc-help)
  246.                      (default 1))
  247.         (
  248.             (working (#examining-s apfile))
  249.  
  250.             (set sum (getsum apfile))
  251.  
  252.             (complete 55)
  253.  
  254.             (if (= sum -950168637)
  255.             (
  256.                 (set lang "English")
  257.                 (set appch (tackon srcdir "Doc_guide_eng.pch"))
  258.             )
  259.             (
  260.                 (if (= sum 525291861)
  261.                 (
  262.                     (set lang "Deutsch")
  263.                     (set appch (tackon srcdir "Doc_guide_deu.pch"))
  264.                 )
  265.                 (
  266.                     (message (#unknown-file apfile))
  267.                     (set appch "")
  268.                 ))
  269.             ))
  270.  
  271.             (if (<> appch "")
  272.             (
  273.                 (applypatch)
  274.             ))
  275.  
  276.             (complete 65)
  277.         ))
  278.     ))
  279.  
  280.     (set ldocdir (tackon docdir "English"))
  281.     (set ldoclang "eng")
  282.  
  283.     (applyldocpatch)
  284.  
  285.     (complete 75)
  286.  
  287.     (set ldocdir (tackon docdir "Deutsch"))
  288.